home *** CD-ROM | disk | FTP | other *** search
/ X User Tools / X User Tools (O'Reilly and Associates)(1994).ISO / sources / libxpm / libxpm34.gz / libxpm34 / xpm-3.4 / CHANGES next >
Text File  |  1994-03-14  |  26KB  |  648 lines

  1. /* Copyright 1989-94 GROUPE BULL -- See license conditions in file COPYRIGHT */
  2. /**************************************************************************\
  3. *                                        *
  4. *              HISTORY of user-visible changes               *
  5. *                                        *
  6. \**************************************************************************/
  7.  
  8. 3.4    (94/03/14)
  9.  
  10.     IMPORTANT NOTE:
  11.     This version is not compatible with 3.3. Fortunately most people should
  12.     only need to recompile.
  13.     I apology for this but CDE/Motif have put heavy pressure to go that
  14.     way. The point is that I designed and released Xpm 3.3 in order to let
  15.     OSF include a clean version of Xpm in Motif 2.0. This new version was
  16.     not fully compatible with 3.2 but I thought it didn't matter since this
  17.     was going to be the first version used within Motif. Unfortunately CDE
  18.     was already using xpm-3.2 internally and requires both source and
  19.     binary backward compatibility. By the way I must say they didn't drop
  20.     us a single line to let us know they were using it and thus were
  21.     expecting stability. All this could have been avoided...
  22.  
  23.     However, since I had to go for a not compatible version I took this as
  24.     an opportunity to modify the lower level API, which was new in 3.3 and
  25.     which was somewhat clumsy, in order to provide yet a better API.
  26.  
  27.     The library has been modified to have both source and binary backward
  28.     compatibility with xpm-3.2. This implies it is not either source or
  29.     binary compatible with 3.3. The fields related to the 3.2 XpmInfos
  30.     mechanism have been put back into the XpmAttributes structure. The new
  31.     3.3 XpmInfos struct has been renamed as XpmInfo to avoid conflict with
  32.     the old 3.2 flag which is back too. All the semantic related to the
  33.     XpmAttributes infos fields is back as well.
  34.  
  35.     So this new version provides a high level API which is fully
  36.     compatible with 3.2 and still provides the 3.3 lower level API
  37.     (XpmImage) with the XpmInfos struct renamed as XpmInfo. This leads to
  38.     some redundancy but this was the best I could do to satisfy both
  39.     CDE/Motif people who needed the backward compatibility and myself (who
  40.     always tries to provide you with the best ;-).
  41.  
  42.     Tests have been successfully performed with pixmap-2.1, pixmap-2.4, and
  43.     sxpm.
  44.  
  45.     ENHANCEMENTS:
  46.     - The colorTable member of the XpmAttributes structure is now an
  47.       (XpmColor*) in order to be compatible with an XpmImage colorTable.
  48.       However in order to be backward compatible this field is cast to
  49.       (XpmColor **), which is equivalent to (char ***), when it is used
  50.       with the old flags XpmInfos and XpmReturnInfos. To handle the new
  51.       type the new flags XpmColorTable and XpmReturnColorTable have been
  52.       defined.
  53.     - The XpmInfo struct has been extended to avoid having to deal with an
  54.       XpmAttributes at the lower level. The idea is that all the data
  55.       stored in an Xpm file can be retreive through both an XpmImage and
  56.       an XpmInfo struct. See the documentation for details.
  57.     - XpmUndefPixel is defined and exported by xpm.h in order to let
  58.       clients providing their own colorTable when writting out an Xpm file.
  59.       See the documentation for details.
  60.     - in sxpm/sxpm.c, set attribute XtNinput to True on toplevel widget.
  61.       Windows that don't "take" input, never get focus, as mandated by
  62.       the ICCM.
  63.             patch from Henrique Martins <martins@hplhasm.hpl.hp.com>
  64.     - lib/Imakefile modified to build the shared library under IRIX 5.
  65.                 patch from simon@lia.di.epfl.ch (Simon Leinen)
  66.  
  67.     NEW FEATURES:
  68.     - a new funtion and a new define should help client figuring out with
  69.       which Xpm library version they are working. These are
  70.       XpmIncludeVersion and XpmLibraryVersion().
  71.  
  72. 3.3    (93/12/20)
  73.  
  74.     NEW FEATURES:
  75.     - XPM1 files are now supported.
  76.     - a new function is provided to get an error string related to the
  77.       returned error code.
  78.         - suggested by Detlef Schmier <detlef@mfr.dec.com>
  79.  
  80.     ENHANCEMENTS:
  81.     - gzip and gunzip are called with the -q option (quiet)
  82.         - patch from Chris P. Ross <cross@eng.umd.edu>
  83.     - the parser is again more flexible about the way the strings are
  84.       distributed on lines. Actually a single line XPM file can be read.
  85.     - the documentation should be clearer about shapemask generation and
  86.       XpmAttributes valuemask.
  87.  
  88.     BUGS CORRECTED:
  89.     - reading some binary file was leading to a bus error.
  90.         - patch from Detlef Schmier <detlef@mfr.dec.com>
  91.     - the ? character is no longer used when writting an XPM file in order
  92.       to avoid possible ANSI trigraphs.
  93.  
  94. 3.3alpha (93/08/13)
  95.  
  96.     NEW FEATURES:
  97.     - a new level interface is provided to allow applications to do either
  98.       icon editing or data caching.
  99.       The XpmAttributes has been changed but most applications will just
  100.       need to be recompiled.
  101.     - new structures are provided to deal with the new lower level:
  102.          XpmImage, XpmColor, XpmInfos.
  103.  
  104.     - a separate distribution called xpm-contrib is available. This
  105.       includes the converters which used to be part of this distribution
  106.       plus:
  107.         two new appplications:
  108.         * nexpm to draw a pixmap in *any* existing window from
  109.              Ralph Betza <gnohmon@ssiny.com>
  110.         * xpmview to display a list of Xpm files from
  111.              Jean Michel Leon <leon@sophia.inria.fr>
  112.  
  113.         a hacky string to pixmap converter, provided by
  114.             Robert H. Forsman Jr.  <thoth@manatee.cis.ufl.edu>
  115.  
  116.         The Xpm editor called pixmap will also be part of this contrib.
  117.         This does not mean it is the best pixmap editor one can find
  118.         but it is the only one that I know of which tries to handle
  119.         all the features of this format.
  120.  
  121.     ENHANCEMENTS:
  122.     - the code to build XImage data has been optimized by
  123.          jules@x.co.uk (Julian Gosnell)
  124.       the old code is still available when compiling with the
  125.       -DWITHOUT_SPEEDUPS flag.
  126.  
  127.     - closecolor code was not re-entrant
  128.          - dbl@visual.com (David B. Lewis)
  129.     - fix gzip filename (*.gz and no longer *.z).
  130.          - Jason Patterson <jasonp@fitmail.fit.qut.edu.au>
  131.     - sxpm has 2 new options:
  132.          -nom to do not display the mask if there is one
  133.          -cp <color> <pixel> to override a color value with a given
  134.          pixel, i.e. sxpm plaid.xpm -cp red 4
  135.  
  136.       also the '-s' adn '-p' options have been renamed to '-sc' and '-sp'.
  137.  
  138.     - xpm.h defines XpmFormat, XpmVersion, and XpmRevision numbers.
  139.  
  140.     BUGS CORRECTED:
  141.     - closecolor minor fix
  142.          - Jason Patterson <jasonp@fitmail.fit.qut.edu.au>
  143.  
  144. 3.2g    (93/04/26)
  145.  
  146.     ENHANCEMENTS:
  147.     - much faster close colors
  148.     - piping from/to compressed files now handles GNU's gzip (.z)  format
  149.     - added XpmColorKey attribute - ability to specify which visual's
  150.       colors to use (ie: now it's possible to read in a pixmap in a
  151.       color visual, but use the colors specified for monochrome).
  152.     - added -mono, -grey4, -grey and -color options to sxpm to demonstrate
  153.       the XpmColorKey attribute.
  154.         - Jason Patterson <jasonp@fitmail.qut.edu.au>
  155.  
  156.     BUGS CORRECTED:
  157.     - fixed bug where redefining "None" as a pixel stopped mask generation
  158.     - minor SVR4 defines for <string.h>
  159.     - fixed annoying closecolor bug related to read/write color cells
  160.     - fixed minor bug in color value -> pixel overloading
  161.     - manual updated to include new red/green/blue closeness attributes
  162.         - Jason Patterson <jasonp@fitmail.qut.edu.au>
  163.  
  164.     - the top Imakefile was missing the depend target
  165.     - sxpm/Imakefile fixed so that -L../lib is set before the standard
  166.       library location.
  167.         - Vivek Khera <khera@cs.duke.edu>
  168.  
  169.     - lib/xpmP.h now defines bcopy as memcpy for VMS (required by recent
  170.       versions of VMS)
  171.         - J. Daniel Smith <dsmith@ann-arbor.applicon.slb.com>
  172.  
  173.     - the lib/Imakefile didn't work with X11R4.
  174.  
  175.  
  176. 3.2f        (93/03/17)
  177.  
  178.     NEW FEATURES:
  179.     - the library provides four new functions to deal with Xpm files
  180.       loaded in memory as single character strings buffers:
  181.  
  182.             XpmCreateImageFromBuffer
  183.             XpmCreatePixmapFromBuffer
  184.             XpmCreateBufferFromImage
  185.             XpmCreateBufferFromPixmap
  186.  
  187.     - in addition, as a convenience, two functions are provided to copy a
  188.       file in a buffer and to write a file from a buffer:
  189.  
  190.             XpmReadFileToBuffer
  191.             XpmWriteFileFromBuffer
  192.  
  193.     ENHANCEMENTS:
  194.     - Files are now dispatched in the following sub-directories:
  195.       lib, sxpm, and doc.
  196.     - Imakefiles will let you build a shared library as well as the static
  197.       one (with either X11R4 or X11R5).
  198.     - The documentation has been ported from LaTeX to FrameMaker and is
  199.       now included in the distribution in its PostScript form (doc/xpm.ps).
  200.       Source files are available on request.
  201.       Also the documentation has been reoreganized and includes a table of
  202.       contents and an index of the functions (the number of functions
  203.       increasing this became a requisite).
  204.  
  205.     BUGS CORRECTED:
  206.     - Many warnings have been fixed - patch from Daniel Dardailler 
  207.       daniel@osf.org
  208.  
  209. 3.2e        (93/02/05)
  210.  
  211.     ENHANCEMENTS:
  212.     - use XpmMalloc, XpmRealloc, XpmCalloc, and XpmFree which are defines
  213.     in xpmP.h. This should help people wanting to use their own functions.
  214.  
  215.     BUGS CORRECTED:
  216.     - Intrinsic.h is no longer included.
  217.     - bzero is defined as memset on SYSV and SVR4.
  218.     - some memory initialisation bug concerning XpmAttributes.
  219.  
  220. 3.2d        (93/01/27)
  221.  
  222.     ENHANCEMENTS:
  223.         - compile on Solaris 2.0
  224.         - patch from Clint Jeffery <cjeffery@cs.arizona.edu>
  225.  
  226.     BUGS CORRECTED:
  227.     - shape masks are now set correctly for LSBFirst (Decs).
  228.     - pixmaps are now set correctly for 2 bit displays (Nexts).
  229.         - patch from Josef Leherbauer <joe@takeFive.co.at>
  230.     - isspace was called on getc which fails when EOF is returned.
  231.         - Marelli Paolo <marelli@colos3.usr.dsi.unimi.it>
  232.  
  233. 3.2c        (92/12/29)
  234.  
  235.     ENHANCEMENTS:
  236.         - parsing optimized for single and double characters color
  237.         - patch originally from Martin Brunecky 
  238.                        marbru@build1.auto-trol.com
  239.  
  240.     BUGS CORRECTED:
  241.     - XpmFreeExtensions was calling free on some argument without checking
  242.     it was not NULL.
  243.     - strdup was not correctly defined for systems which do not provide
  244.     it.    - Hans-Peter Lichtin <lich@zellweger.ch>
  245.     - some bug in XpmCrDataFI.c
  246.             - Sven Delmas garfield@avalanche.cs.tu-berlin.de
  247.  
  248.     NOTE:
  249.         - there is still a bug with the creation of the clipmask on display of
  250.     depth 2 but I can't find a fix because unfortunately I don't have such
  251.     a rendering system and nobody gets the time to investigate for me.
  252.  
  253. 3.2b        (92/10/19)
  254.  
  255.     ENHANCEMENTS:
  256.     - Create XpmReadFileToData and XpmWriteFileFromData
  257.         - Dan Greening <dgreen@sti.com>
  258.         - added "close colors" support and ability to redefine color values
  259.       as pixels at load time, as well as color names
  260.         - Jason Patterson <jasonp@fitmail.qut.edu.au>
  261.     - errors while parsing or allocating colors now revert to other
  262.       visual defaults, creating pixmap/image as expected, and returning
  263.       XpmSuccess. The old behaviour of XpmColorError being returned and no
  264.       pixmap/image being created can be retained by setting the
  265.       exactColors attribute.
  266.         - Jason Patterson <jasonp@fitmail.qut.edu.au>
  267.  
  268.     BUGS CORRECTED:
  269.     - SVR4 defines for including <string.h> instead of <strings.h>
  270.         - Jason Patterson <jasonp@fitmail.qut.edu.au>
  271.     - attributes->extensions and attributes->nextensions fields were not 
  272.       set correctly when no extensions present in file.
  273.         - Simon_Scott Cornish <cornish@ecr.mu.oz.au>
  274.  
  275. 3.2a        (92/08/17)
  276.  
  277.     ENHANCEMENTS:
  278.         - use the mock lisp hashing function instead of the gnu emacs one,
  279.     it is faster in some cases and never slower (I've not found any case).
  280.  
  281.     BUGS CORRECTED:
  282.     - function prototypes for ansi compilers.
  283.     - some memory initialization bugs (purify is just great for this).
  284.     - empty strings in extensions are now correctly handled.
  285.  
  286. 3.2        (92/07/06)
  287.  
  288.     NEW FEATURES:
  289.     - both format and functions handle extensions data. This allow people
  290.     to store additional data related to a pixmap. See documentation for
  291.     detail.
  292.     - sxpm supports the new option '-c' to use a private colormap. This is
  293.     useful when displaying pixmaps using a lot of colors.
  294.     - sxpm supports the new option '-v' (verbose) to get possible
  295.     extensions print out on standard error.
  296.  
  297.     ENHANCEMENTS:
  298.         - most of the code has been reworked to be improved and thus almost
  299.     every function is faster. It takes less than 6 seconds of real time on
  300.     a sun4 to display, with sxpm, a 487x635 pixmap using 213 colors, while
  301.     it takes 32 seconds with the old library! It takes 18 seconds to
  302.     display a 1279x1023 screen dump using 14 colors while xwud takes 10
  303.     seconds.
  304.     Of course performance improvements are not always that great, they
  305.     depend on the size and number of colors but I'm sure everybody will
  306.     appreciate ;-)
  307.     I know how to improve it more but this will require changes in the
  308.     architecture so this is not for now. Some optimizations have been
  309.     contributed by gregor@kafka.saic.com (gregg hanna) and
  310.     jnc@csl.biosci.arizona.edu (John N. Calley).
  311.     - the Imakefile is modified to let you install sxpm - Rainer Klute
  312.            <klute@irb.informatik.uni-dortmund.de>
  313.     - xpmP.h declares popen for Sequent platforms - Clinton Jeffery
  314.        <cjeffery@cs.arizona.edu>
  315.     - XpmWriteFileFromImage/Pixmap rather than truncating the pixmap name
  316.     to the first dot changes dots to underscores to get a valid C syntax
  317.     name.
  318.  
  319.  
  320.     BUGS CORRECTED:
  321.     - there was a bug in the image creation function for some 24 bits
  322.     displays. It is fixed.
  323.     - allocated color pixels are now freed when an error occurs -
  324.        nusser@dec1.wu-wien.ac.at (Stefan Nusser)
  325.  
  326.     CHANGES TO THE DOC:
  327.     - the documentation describes the new XpmExtension structure and how
  328.     to use it with read and write functions.
  329.  
  330. 3.1        (92/02/03)
  331.  
  332.     ENHANCEMENTS:
  333.         - sxpm now have more standard options (mainly suggested by 
  334.     Rainer Sinkwitz <sinkwitz@ifi.unizh.ch>):
  335.  
  336.     Usage:  sxpm [options...]
  337.     Where options are:
  338.  
  339.     [-d host:display]            Display to connect to.
  340.     [-g geom]                    Geometry of window.
  341.     [-hints]                     Set ResizeInc for window.
  342.     [-icon filename]             Set pixmap for iconWindow.
  343.     [-s symbol_name color_name]  Overwrite color defaults.
  344.     [-p symbol_name pixel_value] Overwrite color defaults.
  345.     [-plaid]                     Read the included plaid pixmap.
  346.     [filename]                   Read from file 'filename', and from
  347.                      standard input if 'filename' is '-'.
  348.     [-o filename]                Write to file 'filename', and to standard
  349.                      output if 'filename' is '-'.
  350.     [-nod]                       Don't display in window.
  351.     [-rgb filename]              Search color names in the rgb text file
  352.                      'filename'.
  353.  
  354.     if no input is specified sxpm reads from stdandard input.
  355.  
  356.  
  357.     - Xpm functions and Ppm converters now deal with multiword colornames.
  358.       patches from Rainer Sinkwitz <sinkwitz@ifi.unizh.ch>.
  359.  
  360.  
  361. 3.0        (91/10/03)
  362.  
  363.     Functions name and defines have been modified again (sorry for that)
  364.     as follows:
  365.  
  366.          XpmReadPixmapFile    XpmReadFileToPixmap
  367.          XpmWritePixmapFile   XpmWriteFileFromPixmap
  368.  
  369.          XpmPixmapColorError  XpmColorError
  370.          XpmPixmapSuccess     XpmSuccess
  371.          XpmPixmapOpenFailed  XpmOpenFailed
  372.          XpmPixmapFileInvalid XpmFileInvalid
  373.          XpmPixmapNoMemory    XpmNoMemory
  374.          XpmPixmapColorFailed XpmColorFailed
  375.  
  376.     To update code using Xpm you can use the included shell script called
  377.     rename with the sed commands files name-3.0b-3.0c and name-3.0c-3.0.
  378.     Old names still valid though.
  379.  
  380.     NEW FEATURES:
  381.     - four new functions to work with images instead of pixmaps:
  382.  
  383.          XpmReadFileToImage
  384.          XpmWriteFileFromImage
  385.          XpmCreateImageFromData
  386.          XpmCreateDataFromImage
  387.  
  388.     ENHANCEMENTS:
  389.         Algorithms to create and scan images and pixmaps are based on the
  390.     MIT's R5 code, thus they are much cleaner than old ones and should
  391.     avoid any problem with any visual (yes, I trust MIT folks :-)
  392.  
  393.     BUGS CORRECTED:
  394.     Imakefile use INCDIR instead of ROOTDIR.
  395.  
  396.     CHANGES TO THE DOC:
  397.     - the documentation presents the four new functions.
  398.  
  399. 3.0c        (91/09/18)
  400.  
  401.     In answer to request of people functions, types and defines names have
  402.     been changed as follows:
  403.  
  404.          XCreatePixmapFromData     XpmCreatePixmapFromData
  405.          XCreateDataFromPixmap     XpmCreateDataFromPixmap
  406.          XReadPixmapFile         XpmReadPixmapFile
  407.          XWritePixmapFile         XpmWritePixmapFile
  408.          XFreeXpmAttributes         XpmFreeAttributes
  409.  
  410.          PixmapColorError         XpmPixmapColorError
  411.          PixmapSuccess         XpmPixmapSuccess
  412.          PixmapOpenFailed         XpmPixmapOpenFailed
  413.          PixmapFileInvalid         XpmPixmapFileInvalid
  414.          PixmapNoMemory         XpmPixmapNoMemory
  415.          PixmapColorFailed         XpmPixmapColorFailed
  416.  
  417.          ColorSymbol         XpmColorSymbol
  418.  
  419.     Generally speaking every public name begins with 'Xpm' and every
  420.     private one with 'xpm'. This should avoid any possible conflict.
  421.  
  422.     Some files have also be renamed accordingly.
  423.  
  424.     NEW FEATURES:
  425.     - support for VMS and two new options for sxpm: icon and hints (see
  426.     manual for details) Richard Hess <rhess%pleione%cimshop@uunet.UU.NET>
  427.     - DEFINES in Imakefile and Makefile.noXtree allows you to set the
  428.     following:
  429.  
  430.              ZPIPE for un/compressing piped feature (default is on)
  431.          NEED_STRCASECMP for system which doesn't provide one (default
  432.                  is off)
  433.  
  434.     - xpmtoppm.c has is own strstr function which is used if NEED_STRSTR
  435.     is defined when compiling - Hugues.Leroy@irisa.fr (Hugues Leroy).
  436.     
  437.     BUGS CORRECTED:
  438.     - many bugs have been fixed, especially for ansi compilers -
  439.            Doyle C. Davidson (doyle@doyled.b23b.ingr.com) and
  440.            Clifford D. Morrison (cdm%bigdaddy%edsr@uunet.UU.NET)
  441.     - parser is again a little more improved
  442.  
  443. 3.0b        (91/09/12)
  444.  
  445.     This is a complete new version with a new API and where files and
  446.     structures have been renamed. So this should be taken as a new
  447.     starting release.
  448.     This release should be quickly followed by the 3.0 because I'm planning
  449.     to send it for X11R5 contrib which ends October 5th.
  450.  
  451.     NEW FEATURES:
  452.     - support for transparent color.
  453.     - support for hotspot.
  454.     - a new function: XCreateDataFromPixmap to create an XPM data from a
  455.     pixmap in order to be able to create a new pixmap from this data using
  456.     the XCreatePixmapFromData function later on.
  457.     - a new structure: XpmAttributes which replace the XpmInfo structure
  458.     and which leads to a much simpler API with less arguments.
  459.     - arguments such as visual, colormap and depth are optionnal, default
  460.     values are taken if omitted.
  461.     - parsing and allocating color failures don't simply break anymore. If
  462.     another default color can be found it is used and a PixmapColorError
  463.     is returned. In case no color can be found then it breaks and returns
  464.     PixmapColorFailed.
  465.     - for this reason the ErrorStatus codes are redefined as follows:
  466.  
  467.            null     if full success
  468.            positive if partial success
  469.            negative if failure
  470.  
  471.     with:
  472.         #define PixmapColorError    1
  473.         #define PixmapSuccess       0
  474.         #define PixmapOpenFailed   -1
  475.         #define PixmapFileInvalid  -2
  476.         #define PixmapNoMemory     -3
  477.         #define PixmapColorFailed  -4
  478.  
  479.     - sxpm prints out a warning when a requested color could not be parsed
  480.     or alloc'ed, and an error when none has been found.
  481.     - sxpm handles pixmap with transparent color. For this purpose the
  482.     plaid_mask.xpm is added to the distribution.
  483.  
  484.     BUGS CORRECTED:
  485.     - I've again improved the memory management.
  486.     - the parser is also improved.
  487.     - when writting a pixmap to a file the variable name could be
  488.     "plaid.xpm" which is not valid in C. Now the extension name is cut off
  489.     to give "plaid" as variable name.
  490.     - reading multiple words colornames such as "peach puff" where leading
  491.     to non readable Xpm files. They are now skipped to have only single
  492.     word colorname. Lionel Mallet (mallet@ipvpel.unipv.it).
  493.     - parser was triggered by the "/" character inside string.
  494.     Doyle C. Davidson (doyle@doyled.b23b.ingr.com). This is corrected.
  495.     - sxpm maps the window only if the option "-nod" is not selected. 
  496.  
  497.     CHANGES TO THE DOC:
  498.     - the documentation presents the new API and features.
  499.  
  500. 3.0a        (91/04/10)
  501.  
  502.     This is an alpha version because it supports the new version of XPM,
  503.     but the library interface is still the same. Indeed it will change in
  504.     future release to get rid of obsolete stuff such as the type argument
  505.     of the XWritePixmapFile function.
  506.  
  507.     ******************************* WARNING *********************************
  508.     The format is not anymore XPM2, it is XPM version 3 which is XPM2
  509.     limited to the C syntax with the key word "XPM" in place of "XPM2 C".
  510.     The interface library has not changed yet but the type argument of
  511.     XWritePixmapFile and the type member of XpmInfo are not used anymore.
  512.     Meanwhile the library which is now called libXpm.a is backward
  513.     compatible as XPM2 files can be read. But the XWritePixmapFile
  514.     function only writes out XPM version 3 files.
  515.     *************************************************************************
  516.  
  517.     NEW FEATURES:
  518.     - the library doesn't use global variables anymore, thus it should be
  519.     able to share it.
  520.     - sxpm has been rewritten on top of Xt, it can be used to convert
  521.     files from XPM2 to XPM version 3.
  522.     - xpm1to2c.perl has been upgraded to the new XPM version and renamed
  523.     as xpm1to3.perl
  524.     - ppmtoxpm2.c and ppmtoxpm2.1 have been upgraded too and renamed
  525.     ppmtoxpm.c and ppmtoxpm.1. In addition the xpmtoppm.c and xpmtoppm.1
  526.     of the pbmplus package have been upgraded too. xpmtoppm can thus
  527.     convert XPM version 1 and 3 to a portable pixmap. These files should
  528.     replace the original ones which are part of the pbmplus package. See
  529.     the ppm.README file for more details.
  530.     - the library contains RCS variables which allows you to get revision
  531.     numbers with ident (which is part of the RCS package). The Id number
  532.     is an internal rcs number for my eyes only. The official one is found
  533.     in Version.
  534.  
  535.     BUGS CORRECTED:
  536.     - the memory management has been much improved in order to avoid
  537.     memory leaks.
  538.     - the XImage building algorythm has been changed to support correctly
  539.     different visual depths. There is special code to handle depths 1, 4,
  540.     6, 8, 24, and 32 to build the image and send it in one whack, and
  541.     other depths are supported by building the image with XPutPixel which
  542.     is slow but sure.
  543.     - similar algorithms are used to read pixmaps and write them out.
  544.  
  545.     CHANGES TO THE DOC:
  546.     - the documentation presents the new XPM format.
  547.  
  548.  
  549. 2.8        (90/12/19)
  550.  
  551.     ******************************* WARNING *********************************
  552.         Since the last release two structures have been modified and have now
  553.     bigger sizes, so ANY CODE USING THE libXPM2 NEEDS TO BE RECOMPILED.
  554.     *************************************************************************
  555.  
  556.     NEW FEATURES:
  557.     - the ColorSymbol struct contains the new member 'pixel' which allow
  558.     to override default colors by giving a pixel value (in such a case
  559.     symbol value must be set to NULL),
  560.     - the XpmInfo struct contains the new member 'rgb_fname' in which one
  561.     can specify an rgb text file name while writing a pixmap with the 
  562.     XWritePixmapFile function (otherwise this member should be set to
  563.     NULL). This way colorname will be searched and written out if found
  564.     instead of the RGB value,
  565.     - Imakefile originally provided by stolcke@ICSI.Berkeley.EDU,
  566.     - the old Makefile is now distributed as Makefile.noXtree and presents
  567.     install targets,
  568.     - the demo application is renamed sxpm (Show XPM), creates a window of
  569.     the size of the pixmap if no geometry is specified, prints out
  570.     messages instead of status when an error occurs, handles the new
  571.     option -p for overriding colors by giving a pixel value (not really
  572.     useful but is just here to show this new feature), handles the new
  573.     option -rgb for specifying an rgb text file, and ends on
  574.     keypress as buttonpress,
  575.     - defines for SYSV have been provided by Paul Breslaw
  576.     <paul@mecazh.uucp>,
  577.     - the distribution includes a new directory called converters which
  578.     contains xpm1to2 and xpm1to2c perl converters and a ppmtoxpm2
  579.     converter provided by Paul Breslaw who upgraded the original ppmtoxpm
  580.     written by Mark W. Snitily <mark@zok.uucp>.
  581.  
  582.     CHANGES TO THE DOC:
  583.     - this file is created and will give old users a quick reference to
  584.     changes made from one release to the next one,
  585.     - documentation is changed to present the new ColorSymbol structure
  586.     and the way to override colors by giving a pixel value, and to present
  587.     the new XpmInfo structure and how to use it,
  588.     - a man page for sxpm is added to the distrib,
  589.     - the README file talks about sxpm and no more demo, and have
  590.     reference to the different converters.
  591.  
  592. 2.7        (90/11/12)
  593.  
  594.     NEW FEATURES:
  595.     - XReadPixmapFile reads from stdin if filename is NULL,
  596.     - XWritePixmapFile writes to stdin if filename is NULL,
  597.     - the demo application handles the new option -nod for no displaying
  598.     the pixmap in a window (useful when used as converter).
  599.  
  600.     CHANGES TO THE DOC:
  601.     - documentation about the new feature.
  602.  
  603. 2.6        (90/10/29)
  604.  
  605.     NEW FEATURES:
  606.     - from nazgul@alphalpha.com (Kee Hinckley): changes to make the
  607.     library usable as C++ code, and on Apollo without any warning.
  608.  
  609.     BUGS CORRECTED:
  610.     - from nazgul@alphalpha.com (Kee Hinckley): the xpm include files was
  611.     declaring XWritePixmapFile as taking in arg a Pixmap pointer instead
  612.     of a Pixmap.
  613.  
  614. 2.5        (90/10/17)
  615.  
  616.     BUGS CORRECTED:
  617.     - XWritePixmapFile was not closing the file while ending normaly.
  618.  
  619. 2.4        (90/09/06)
  620.  
  621.     NEW FEATURES:
  622.     - XReadPixmapFile reads from a piped uncompress if the given filename
  623.     ends by .Z or if filename.Z exists,
  624.     - XWritePixmapFile writes to a piped compress if the given filename
  625.     ends by .Z.
  626.  
  627.     BUGS CORRECTED:
  628.     - demo now deals with window manager.
  629.  
  630.     CHANGES TO THE DOC:
  631.     - documentation about compressed files management.
  632.  
  633. 2.3        (90/08/30)
  634.  
  635.     BUGS CORRECTED:
  636.     - handle monochrom display correctly,
  637.     - comments can be empty.
  638.  
  639. 2.2        (90/08/27)
  640.  
  641.     BUGS CORRECTED:
  642.     - when reading some invalid free was dumping core on some machine.
  643.  
  644. 2.1        (90/08/24)
  645.  
  646.     First distribution of XPM2.
  647.  
  648.